package com.showmaker.service;

import com.showmaker.bean.CheckGroup;
import com.showmaker.entity.PageResult;
import com.showmaker.entity.QueryPageBean;

import java.util.List;

public interface CheckGroupService {

    /**
     * 添加检查组的方法，并在表中添加检查组与检查项的关联方法
     * @param checkitemIds 该检查组所包含的所有检查项id
     * @param checkGroup 该检查组的相关描述信息
     */
    public void add(Integer[] checkitemIds, CheckGroup checkGroup);

    /**
     * 分页查询调用的方法
     * @param queryPageBean 分页查询的条件
     * @return 返回一个分页结果对象
     */
    public PageResult page(QueryPageBean queryPageBean);

    /**
     * 通过 id 查询检查组的相关信息
     * @param id 检查组的id
     * @return 返回id对应的检查组
     */
    public CheckGroup get(Integer id);

    /**
     * 通过检查组id查询与该检查组关联的所有检查项id
     * @param checkGroupId 检查组的id
     * @return 返回与该检查组相关的所有检查项id
     */
    public List<Integer> items(Integer checkGroupId);

    /**
     * 更新检查组
     * @param checkitemIds 与检查组相关联的所有检查项id
     * @param checkGroup 检查组的相关信息
     */
    public void updateCheckGroupAndCheckItem(Integer[] checkitemIds, CheckGroup checkGroup);

    /**
     * 查询所有检查组的信息
     * @return 返回所有检查组的结合
     */
    public List<CheckGroup> selectAll();
}
